import {BaseResponse} from "@/api/type/base";

/**
 * 用户模块 - 请求参数（前端传给后端的数据）
 */
export namespace UserParams{
  export interface Login {
    username: string; // 用户名（必填，长度3-20）
    password: string; // 密码（必填，长度8以上）
    // rememberMe?: boolean; // 是否记住登录（可选，默认false）
  }
  export interface Register {
    userName: string;
    passWord: string;
  }

}

/**
 * 用户模块 - 返回参数
 */
export namespace UserResult{

  export type LoginUserResult = {
      /** 头像 */
      avatar: string;
      /** 用户名 */
      username: string;
      /** 昵称 */
      nickname: string;
      /** 当前登录用户的角色 */
      roles: Array<string>;
      /** 按钮级别权限 */
      permissions: Array<string>;
      /** `token` */
      // accessToken: string;
      /** 用于调用刷新`accessToken`的接口时所需的`token` */
      token: string;
      /** `accessToken`的过期时间（格式'xxxx/xx/xx xx:xx:xx'） */
      expires: Date;
  };

  // export type RegisterResult = {
  //   username: string; // 注册成功的用户名（用于前端展示“xxx注册成功”）
  //   message: string; // 提示信息（如“注册成功，请登录”）
  //   // 可选：是否需要邮箱/手机验证
  //   needVerify?: boolean;
  //   verifyUrl?: string; // 验证链接（如果需要）
  // };
}

export type loginUserResult=BaseResponse<UserResult.LoginUserResult>;
export type RegisterParams = UserParams.Register;
// export type registerResult=BaseResponse<UserResult.RegisterResult>;


